package edu.bbu.commonproject.desktop.gui.controller.utils.dnd;

/**
 * The file information class. 
 */
public class FileInformation
{
	/**	The file type.*/
	public static final int FILE_TYPE = 0;

	/**	The directory type.*/
	public static final int DIRECTORY_TYPE = 1;
	
	/**	The file version type.*/
	public static final int FILE_VERSION_TYPE = 2;
	
	
	/**	The local source.*/
	public static final int LOCAL_SOURCE = 3;
	
	/**	The server source.*/
	public static final int SERVER_SOURCE = 4;
	
	
	/**	The unknown type.*/
	public static final int UNKNOWN_TYPE = -1;
	
	/**	The unknown source.*/
	public static final int UNKNOWN_SOURCE = -1;
	
	
	/**	The file name.*/
	private String name;
	
	/**	The file path.*/
	private String path;
	
	/**	The file version.*/
	private int version = 0;
	
	/**	The file type.*/
	private int type = UNKNOWN_TYPE;
	
	/**	The file source.*/
	private int source = UNKNOWN_SOURCE;
	
	/**
	 * The constructor.
	 */
	public FileInformation()
	{
		this("", "", UNKNOWN_TYPE, UNKNOWN_SOURCE);
	}
	
	/**
	 * The constructor.
	 * @param name the file name.
	 * @param path the file path.
	 * @param type the file type.
	 * @param source the file source.
	 */
	public FileInformation(String name, String path, int type, int source)
	{
		this.name = name;
		this.path = path;
		this.type = type;
		this.source = source;
	}
	
	/**
	 * Getting the file name.
	 * @return the file name.
	 */
	public String getName()
	{
		return name;
	}
	
	/**
	 * Setting the file name.
	 * @param name the file name.
	 */
	public void setName(String name)
	{
		this.name = name;
	}

	/**
	 * Getting the file path.
	 * @return the file path.
	 */
	public String getPath()
	{
		return path;
	}
	
	/**
	 * Setting the file path.
	 * @param path the file path.
	 */
	public void setPath(String path)
	{
		this.path = path;
	}
	
	/**
	 * Getting the file type.
	 * @return the file type.
	 */
	public int getType()
	{
		return type;
	}
	
	/**
	 * Setting the file type.
	 * @param type the file type.
	 */
	public void setType(int type)
	{
		this.type = type;
	}
	
	/**
	 * Getting the file source.
	 * @return the file source.
	 */
	public int getSource()
	{
		return source;
	}
	
	/**
	 * Setting the file source.
	 * @param source the file source.
	 */
	public void setSource(int source)
	{
		this.source = source;
	}
	
	/**
	 * Setting the file version.
	 * @param version the file version.
	 */
	public void setVersion(int version)
	{
		this.version = version;
	}
	
	/**
	 * Getting the file version.
	 * @return the file version.
	 */
	public int getVersion()
	{
		return version;
	}
}
